\documentclass[11pt, a4paper]{article}

% Configuracion de margenes de las paginas
	\usepackage{a4wide}

% Paquete de acentos para Linux
	%\usepackage[utf8]{inputenc}

% Paquete para reconocer la separacion en silabas en espanol
	\usepackage[spanish]{babel}

% Paquetes especiales para el TP
	\usepackage{./otros/caratula}
	\usepackage{pdfpages}
	
% paquete para varias columnas

	\usepackage{multicol}
	

% Paquete para incluir hypervinculos
	\usepackage{color}
	\usepackage{url}
	\definecolor{lnk}{rgb}{0,0,0.4}
	\usepackage[colorlinks=true,linkcolor=lnk,citecolor=blue,urlcolor=blue]{hyperref}

% Paquete para armar indices
	\usepackage{makeidx}
	\makeindex

% Mas espacio entre lineas
	\parskip=1.5pt

% Opciones de enumerates
	\usepackage{enumerate}


\begin{document}

% Caratula
	\titulo{Ingenier\'ia de Software 1}
	\fecha{\today}
	\materia{TP Nro 2 - GRUPO 1}
	\integrante{Mariano Bianchi}{92/08}{marianobianchi08@gmail.com}
	\integrante{Pablo Brusco}{527/08}{pablo.brusco@gmail.com}
	\integrante{Cyntia Bonomi}{134/03}{cyntiab83@gmail.com}
	\integrante{Kevin Allekotte}{490/08}{kevinalle@gmail.com}
	\maketitle

% indice
\newpage \printindex \tableofcontents

\newpage
% Cuerpo del informe

\section{Modelo Conceptual}
\begin{center}\rotatebox{90}{\includegraphics[width=21cm]{imagenes/modeloconceptual.jpg}}\end{center}

\section{Aclaraciones y convenciones usadas en el TP}
\textbf{Pieza:} una pieza es un ``pedazo'' de configuracion, puede armarse a partir de otras piezas. 

\medskip
\textbf{Configuracion:} computadora completa.

\medskip
\textbf{Tipo:} el tipo de una pieza es la denominacion de la misma a partir de la cual se categorizan. Ej: el disco rigido Samsung X78 pertenece al tipo Disco Rigido si queremos saber cuales discos rigidos son mejores que este pediremos dentro del tipo disco rigido a todos los que tienen nivel mayor al nivel del disco rigido Samsung X78

\medskip
La fechaRealDeEntrega dentro de la ordenDeComputadora es la fecha que el servicio de entrega nos informa cuando entrega una computadora.

\medskip
La fechaEstimadaDeEntrega dentro de planDeEntrega es calculada en base a los tiempos de entrega de los pedidos y el tiempo de ensamblado.

\medskip
La fechaRealDeEntrega en pedido es el tiempo que tarda el pedido en llegar a la distribuidora.

\medskip
La fechaEntregaEstimada en pedido es el tiempo que se supone que tarda en llegar un pedido a la distribuidora. Si es pedido deCompraDePieza es el tiempo que indica el tiempoDeEnvio en tiempoDeEnvioEntreProveedorYDistribuidora y si es un pedido dePieza es el tiempoDeEnvio de tiempoEnvioEntreDistribuidoras.

\section{OCL}
\begin{enumerate}
\item Si un pedido pertenece a un plan de entrega entonces la distribuidora que lo realiza es la misma que ensambla el plan de entrega\\
\texttt{context planDeEntrega\\self.forAll(pedido| pedido.esRealizadoPor=self.esEnsambladoPor)}

\item Si un pedido es realizadoPor una distribuidora mas vale que no sea realizado a la misma\\
\texttt{context  dePieza\\self.esRealizadoA  <> self.esRealizadoPor}

\item El tiempo de envio entre  una distribuidora y ella misma es cero o no existe\\
\texttt{context tiempoEnvioEntreDistribuidoras\\self.desde <> self.hasta}

\item Si un pedido esta en estado recibido la fechaDeEntregaReal < FechaActual\\
\texttt{context pedido\\self.estado='recibido' implies self.fechaEntregaReal < fechaActual}

\item Si un pedido esta en estado de espera o perdido la fechaDeEntregaReal no esta definida\\
\texttt{context pedido\\self.estado='enEspera' or self.estado='perdido' implies\\ OCLisUndefined(self.fechaEntregaReal)}

\item La fecha de realizacion de ordenDeComputadora es anterior a la fecha real de entrega\\
\texttt{context ordenDeComputadora\\self.fechaRealizacion < self.fechaRealDeEntrega}

\item La fecha de inicio del pedido es anterior a la fecha real de entrega\\
\texttt{context pedido\\self. fechaInicioPedido < self.fechaRealDeEntrega}

\item La fecha de inicio del pedido es anterior a la fecha estimada de entrega\\
\texttt{context pedido\\self. fechaInicioPedido < self. fechaEstimadaDeEntrega}
\end{enumerate}

\input{casosDeUso/casosDeUso.tex}

\section{Diagrama de Actividad}
\begin{center}\rotatebox{90}{\includegraphics[width=21cm]{imagenes/principal(da1).jpg}}\end{center}

\begin{center}\rotatebox{90}{\includegraphics[width=22cm]{imagenes/pedirpiezasfaltantes(da2).jpg}}\end{center}

\section{FSMs}
\begin{center}\rotatebox{90}{\includegraphics[width=21cm]{imagenes/FsmPedidoDistr.jpg}}\end{center}
Aclaraci\'on sobre el pedido a las distribuidoras:
En los casos de uso se modelan los pedidos internos por una construccion en proceso, en cambio, con fsm modelamos el pedido de stock en cualquier otra situacion, en la cual suponemos que no puede realizarse mas de un pedido en simultaneo

\huge{Pedido a Proveedores}
\hspace{-3pt}
\begin{center}\includegraphics[width=0.7\textwidth]{imagenes/MonitorStock.JPG}\end{center}

\vspace{2pt}
\begin{center}\includegraphics[width=0.5\textwidth]{imagenes/Impresora.JPG}\end{center}

\vspace{2pt}
\begin{center}\includegraphics[width=0.7\textwidth]{imagenes/Proveedor.JPG}\end{center}

\vspace{2pt}
\begin{center}\includegraphics[width=0.7\textwidth]{imagenes/Repositor.JPG}\end{center}

\vspace{2pt}
\begin{center}\includegraphics[width=0.7\textwidth]{imagenes/SerivicioEntrega.JPG}\end{center}


\end{document}
